//js中也能定义对象，但这里对象跟普通认知的对象不一样
let obj = new Object()
let obj = {}
//两种方式都能定义对象，注意第一种Object后面是圆括号，第二种是花括号，推荐第二种
//可以给js中的对象动态添加属性
obj.name = "伞兵一号"
console.log(obj)

//可以给js动态添加一个函数
obj.f = function () {
    console.log("我是内部函数")
}
obj.j()

//可以在函数内部使用this关键字来指定对象内的属性，不指定this则使用的是外部全局变量
let name = "我是外部变量"
let obj = {}
obj.name = "我是内部变量"
obj.f = function (){
    console.log("name属性为： "+ name)
    console.log("this.name属性为： "+ this.name)
}
obj.f()
//但注意，如果使用lambda表达式，那么this并不会指向对象

//上面说的都是动态给对象添加属性，实际上对象的属性是可以在定义的时候就添加成员的，多个成员（属性）之间用,逗号隔离
let obj = {
    name: "我是内部变量",
    f: function (){
        console.log("name属性为：" + this.name)
    }
}
obj.f()